home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / lib / perl5 / Glib / OptionGroup.pod < prev    next >
Text File  |  2009-04-29  |  5KB  |  264 lines

  1. =head1 NAME
  2.  
  3. Glib::OptionGroup -  group of options for command line option parsing
  4.  
  5. =cut
  6.  
  7. =for position SYNOPSIS
  8.  
  9. =head1 SYNOPSIS
  10.  
  11.   my ($verbose, $source, $filenames) = ('', undef, []);
  12.  
  13.   my $entries = [
  14.     { long_name => 'verbose',
  15.       short_name => 'v',
  16.       arg_type => 'none',
  17.       arg_value => \$verbose,
  18.       description => 'be verbose' },
  19.  
  20.     { long_name => 'source',
  21.       short_name => 's',
  22.       arg_type => 'string',
  23.       arg_value => \$source,
  24.       description => 'set the source',
  25.       arg_description => 'source' },
  26.  
  27.     [ 'filenames', 'f', 'filename-array', \$filenames ],
  28.   ];
  29.  
  30.   my $context = Glib::OptionContext->new ('- urgsify your life');
  31.   $context->add_main_entries ($entries, 'C');
  32.   $context->parse ();
  33.  
  34.   # $verbose, $source, and $filenames are now updated according to the
  35.   # command line options given
  36.  
  37. =cut
  38.  
  39.  
  40.  
  41. =head1 HIERARCHY
  42.  
  43.   Glib::Boxed
  44.   +----Glib::OptionGroup
  45.  
  46.  
  47.  
  48. =cut
  49.  
  50. =for object Glib::OptionGroup group of options for command line option parsing
  51.  
  52. =cut
  53.  
  54.  
  55.  
  56.  
  57. =head1 METHODS
  58.  
  59. =head2 optioncontext = Glib::OptionContext-E<gt>B<new> ($parameter_string)
  60.  
  61. =over
  62.  
  63. =item * $parameter_string (string) 
  64.  
  65. =back
  66.  
  67. =head2 optiongroup = Glib::OptionGroup->B<new> (key => value, ...)
  68.  
  69. =over
  70.  
  71. =back
  72.  
  73.  
  74. Creates a new option group from the given key-value pairs.  The valid keys are
  75. name, description, help_description, and entries.  The first three specify
  76. strings while the last one, entries, specifies an array reference of option
  77. entries.  Example:
  78.  
  79.   my $group = Glib::OptionGroup->new (
  80.                 name => 'urgs',
  81.                 description => 'Urgs Urgs Urgs',
  82.                 help_description => 'Help with Urgs',
  83.                 entries => \@entries);
  84.  
  85. An option entry is a hash reference like this:
  86.  
  87.   { long_name => 'verbose',
  88.     short_name => 'v',
  89.     flags => [qw/reverse hidden in-main/],
  90.     arg_type => 'none',
  91.     arg_value => \$verbose,
  92.     description => 'verbose desc.',
  93.     arg_description => 'verbose arg desc.' }
  94.  
  95. Of those keys only long_name, arg_type, and arg_value are required.  So this is
  96. a valid option entry too:
  97.  
  98.   { long_name => 'package-names',
  99.     arg_type => 'string-array',
  100.     arg_value => \$package_names }
  101.  
  102. For convenience, option entries can also be specified as array references
  103. containing long_name, short_name, arg_type, and arg_value:
  104.  
  105.   [ 'filenames', 'f', 'filename-array', \$filenames ]
  106.  
  107. If you don't want an option to have a short name, specify undef for it:
  108.  
  109.   [ 'filenames', undef, 'filename-array', \$filenames ]
  110.  
  111.  
  112. =head2 $context-E<gt>B<add_group> ($group)
  113.  
  114. =over
  115.  
  116. =item * $group (Glib::OptionGroup) 
  117.  
  118. =back
  119.  
  120. =head2 $context-E<gt>B<add_main_entries> ($entries, $translation_domain)
  121.  
  122. =over
  123.  
  124. =item * $entries (scalar) reference to an array of option entries
  125.  
  126. =item * $translation_domain (string) 
  127.  
  128. =back
  129.  
  130.  
  131.  
  132. =head2 boolean = $context-E<gt>B<get_help_enabled> 
  133.  
  134. =head2 $context-E<gt>B<set_help_enabled> ($help_enabled)
  135.  
  136. =over
  137.  
  138. =item * $help_enabled (boolean) 
  139.  
  140. =back
  141.  
  142. =head2 boolean = $context-E<gt>B<get_ignore_unknown_options> 
  143.  
  144. =head2 $context-E<gt>B<set_ignore_unknown_options> ($ignore_unknown)
  145.  
  146. =over
  147.  
  148. =item * $ignore_unknown (boolean) 
  149.  
  150. =back
  151.  
  152. =head2 optiongroup = $context-E<gt>B<get_main_group> 
  153.  
  154. =head2 $context-E<gt>B<set_main_group> ($group)
  155.  
  156. =over
  157.  
  158. =item * $group (Glib::OptionGroup) 
  159.  
  160. =back
  161.  
  162. =head2 boolean = $context-E<gt>B<parse> 
  163.  
  164. This method works directly on I<@ARGV>.
  165.  
  166. May croak with a L<Glib::Error> in $@ on failure.
  167.  
  168. =head2 $group-E<gt>B<set_translate_func> ($func, $data=undef)
  169.  
  170. =over
  171.  
  172. =item * $func (scalar) 
  173.  
  174. =item * $data (scalar) 
  175.  
  176. =back
  177.  
  178. =head2 $group-E<gt>B<set_translation_domain> ($domain)
  179.  
  180. =over
  181.  
  182. =item * $domain (string) 
  183.  
  184. =back
  185.  
  186.  
  187.  
  188. =cut
  189.  
  190.  
  191. =head1 ENUMS AND FLAGS
  192.  
  193. =head2 enum Glib::OptionArg
  194.  
  195.  
  196.  
  197. =over
  198.  
  199. =item * 'none' / 'G_OPTION_ARG_NONE'
  200.  
  201. =item * 'string' / 'G_OPTION_ARG_STRING'
  202.  
  203. =item * 'int' / 'G_OPTION_ARG_INT'
  204.  
  205. =item * 'filename' / 'G_OPTION_ARG_FILENAME'
  206.  
  207. =item * 'string-array' / 'G_OPTION_ARG_STRING_ARRAY'
  208.  
  209. =item * 'filename-array' / 'G_OPTION_ARG_FILENAME_ARRAY'
  210.  
  211. =item * 'double' / 'G_OPTION_ARG_DOUBLE'
  212.  
  213. =item * 'int64' / 'G_OPTION_ARG_INT64'
  214.  
  215. =back
  216.  
  217.  
  218. =head2 flags Glib::OptionFlags
  219.  
  220.  
  221.  
  222. =over
  223.  
  224. =item * 'hidden' / 'G_OPTION_FLAG_HIDDEN'
  225.  
  226. =item * 'in-main' / 'G_OPTION_FLAG_IN_MAIN'
  227.  
  228. =item * 'reverse' / 'G_OPTION_FLAG_REVERSE'
  229.  
  230. =item * 'no-arg' / 'G_OPTION_FLAG_NO_ARG'
  231.  
  232. =item * 'filename' / 'G_OPTION_FLAG_FILENAME'
  233.  
  234. =item * 'optional-arg' / 'G_OPTION_FLAG_OPTIONAL_ARG'
  235.  
  236. =item * 'noalias' / 'G_OPTION_FLAG_NOALIAS'
  237.  
  238. =back
  239.  
  240.  
  241.  
  242.  
  243. =cut
  244.  
  245.  
  246. =head1 SEE ALSO
  247.  
  248. L<Glib>, L<Glib::Boxed>
  249.  
  250.  
  251. =cut
  252.  
  253.  
  254. =head1 COPYRIGHT
  255.  
  256. Copyright (C) 2003-2009 by the gtk2-perl team.
  257.  
  258. This software is licensed under the LGPL.  See L<Glib> for a full notice.
  259.  
  260.  
  261.  
  262. =cut
  263.  
  264.